/**
 * 
 * MindBox 2009
 */
package com.mindbox.viajes.test;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

import com.mindbox.viajes.dto.Usuario;
import com.mindbox.viajes.exception.ExceptionCampo;
import com.mindbox.viajes.exception.ExceptionLogica;
import com.mindbox.viajes.exception.ExceptionUsuarioInvalido;
import com.mindbox.viajes.logica.ControladorUsuario;

/**
 * Test para el controlador de usuario, para crearlos.
 * 
 * @author Julian
 * 
 */
public class ControladorUsuarioTest1 {

	private ControladorUsuario controlador;

	/**
	 * Se inicializa el controlador
	 * 
	 * @throws java.lang.Exception
	 * @author Julian
	 */
	@Before
	public void setUp() throws Exception {
		this.controlador = new ControladorUsuario();
	}

	/**
	 * Test method for
	 * {@link com.mindbox.viajes.logica.ControladorUsuario#crearUsuario(com.mindbox.viajes.dto.Usuario)}.
	 * 
	 * @throws ExceptionCampo
	 * @throws ExceptionLogica
	 * @throws ExceptionUsuarioInvalido
	 * 
	 * @throws Exception
	 */
	@Test(expected = ExceptionUsuarioInvalido.class)
	public void testCrearUsuario() throws ExceptionUsuarioInvalido,
			ExceptionLogica, ExceptionCampo {
		Usuario usuario = new Usuario();
		usuario.setLogin("julisan");
		usuario.setPwd("pwd_test");
		usuario.setNombre("Julian Sanchez");
		usuario.setEmail("julisan@");
		this.controlador.crearUsuario(usuario);
	}

	/**
	 * Test method for
	 * {@link com.mindbox.viajes.logica.ControladorUsuario#crearUsuario(com.mindbox.viajes.dto.Usuario)}.
	 * 
	 * @throws ExceptionCampo
	 * @throws ExceptionLogica
	 * @throws ExceptionUsuarioInvalido
	 * 
	 * @throws Exception
	 */
	@Test(expected = ExceptionUsuarioInvalido.class)
	public void testLoginUsuario() throws ExceptionUsuarioInvalido,
			ExceptionLogica, ExceptionCampo {
		Usuario usuario = new Usuario();
		usuario.setLogin("julisan");
		usuario.setPwd("julisan");
		usuario.setNombre("Julian Sanchez");
		usuario.setEmail("julisan@");
		this.controlador.loginUsuario(usuario);
	}
	
	/**
	 * Test method for
	 * {@link com.mindbox.viajes.logica.ControladorUsuario#crearUsuario(com.mindbox.viajes.dto.Usuario)}.
	 * 
	 * @throws ExceptionCampo
	 * @throws ExceptionLogica
	 * @throws ExceptionUsuarioInvalido
	 * 
	 * @throws Exception
	 */
	@Ignore
	@Test(expected = ExceptionUsuarioInvalido.class)
	public void testGetItinerarios() throws ExceptionUsuarioInvalido,
			ExceptionLogica, ExceptionCampo {
		Usuario usuario = new Usuario();
		usuario.setId("2");
		usuario.setLogin("julisan");
		usuario.setPwd("julisan");
		usuario.setNombre("Julian Sanchez");
		usuario.setEmail("julisan@");
		System.out.println(this.controlador.getItinerarios(usuario).toString());
	}
	
}
